#ifndef LAYER_MANAGER_H
#define LAYER_MANAGER_H
#include <qstringlist.h>
#include <osgEarth/Layer>
#include "Def.h"

class ILayer : public IDeleter,public IVisible
{
public:
	virtual ~ILayer() {}
	virtual osgEarth::Layer* getOsgLayer() { return nullptr; }
};

class LayerManager : public PrivateClassHolder<LayerManagerPrivate>
{
public:
	virtual void addShapeLayer(const QString& layName,const QString& layFile,const QString& styleName) = 0;

	virtual QStringList getLayerNameList()const = 0;
	virtual ILayer* getLayerListByName(const QString& layName)const = 0;
	virtual void removeLayer(const QString& layName) = 0;
};

#endif